7cbcbf9883f301a14237a867eb770b5ab949f7b7,source/jetbrains/mps/helgins/equation/EquationManager.java,EquationManager,addEquation,#NodeWrapperType#NodeWrapperType#EquationType#,44

Before Change


    if (rhsRepresentator == lhsRepresentator) return;

    // add var to type's multieq
    RuntimeTypeVariable varRhs = NodeWrapperType.getTypeVar(rhsRepresentator);
    RuntimeTypeVariable varLhs = NodeWrapperType.getTypeVar(lhsRepresentator);
    if (varRhs != null) {
      processEquation(rhsRepresentator, lhsRepresentator);

After Change



    // if one of them is a var
    RuntimeTypeVariable varSubtype = NodeWrapperType.getTypeVar(subtypeRepresentator);
    RuntimeTypeVariable varSupertype = NodeWrapperType.getTypeVar(supertypeRepresentator);
    if (varSubtype != null || varSupertype != null) {
      mySubtypesToSupertypesMap.put(subtypeRepresentator, supertypeRepresentator);
      mySupertypesToSubtypesMap.put(supertypeRepresentator, subtypeRepresentator);